#ifndef _TASK_MONITOR_
#define _TASK_MONITOR_
#ifdef __cplusplus
 extern "C" {
#endif
#include "includes.h"
#ifdef _TASK_MONITOR_GLOBALS
#define _TASK_MONITOR_EXT        
#else 
#define _TASK_MONITOR_EXT   extern
#endif

#define Overpower 0
#define Protect 1

typedef struct
{
	u8 flag;
	u8 change_flag;
}Monitor_flag;

_TASK_MONITOR_EXT uint64_t Device_MonitorStk[512/8];
_TASK_MONITOR_EXT OS_TID HandleDevice_Monitor;

_TASK_MONITOR_EXT uint64_t Boot_SequenceStk[512/8];
_TASK_MONITOR_EXT OS_TID HandleBoot_Sequence;

_TASK_MONITOR_EXT uint64_t Led_DisplayStk[512/8];
_TASK_MONITOR_EXT OS_TID HandleLed_Display;

_TASK_MONITOR_EXT Monitor_flag USART2_DR16;
_TASK_MONITOR_EXT u8 CAN1_MPU6050,CAN1_PitchMotor,CAN1_YawMotor,CAN2_RM2006,CAN2_Chassis,Total_Switch,Chassis_Mode,Aircraft_down,Recover_Flag;
__task void Device_Monitor(void);
__task void Boot_Sequence(void);
__task void Led_Display(void);

#ifdef __cplusplus
 }
#endif

#endif
